home *** CD-ROM | disk | FTP | other *** search
- /*
- * (c) Copyright 1993, Silicon Graphics, Inc.
- * ALL RIGHTS RESERVED
- * Permission to use, copy, modify, and distribute this software for
- * any purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies and that both the copyright notice
- * and this permission notice appear in supporting documentation, and that
- * the name of Silicon Graphics, Inc. not be used in advertising
- * or publicity pertaining to distribution of the software without specific,
- * written prior permission.
- *
- * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
- * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
- * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
- * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
- * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
- * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
- * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
- * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
- * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * US Government Users Restricted Rights
- * Use, duplication, or disclosure by the Government is subject to
- * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
- * (c)(1)(ii) of the Rights in Technical Data and Computer Software
- * clause at DFARS 252.227-7013 and/or in similar or successor
- * clauses in the FAR or the DOD or NASA FAR Supplement.
- * Unpublished-- rights reserved under the copyright laws of the
- * United States. Contractor/manufacturer is Silicon Graphics,
- * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
- *
- * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
- */
- #include "battalion.h"
- #include "string.h"
-
-
- enum {
- FONT_BEGIN = 1,
- FONT_NEXT,
- FONT_END,
- FONT_ADVANCE
- };
- #define MAX_STROKES 20
- /* was 256 MAX_STROKES */
- #define END_OF_LIST 256
-
- /* 0.0513 */
- #define STROKE_SCALE 0.045
-
- /*#define STROKE_SCALE 1.71*/
-
-
- const GLint strokeFont[][1+MAX_STROKES*3] = {
- {
- 1,
- FONT_BEGIN, 0, 4,
- FONT_NEXT, 2, 2,
- FONT_END, 4, 4,
- FONT_BEGIN, 2, 8,
- FONT_END, 2, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 2,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 2, 6,
- FONT_NEXT, 3, 5,
- FONT_END, 4, 6,
- FONT_BEGIN, 3, 5,
- FONT_NEXT, 3, 3,
- FONT_END, 4, 2,
- FONT_BEGIN, 3, 3,
- FONT_NEXT, 2, 2,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 3,
- FONT_BEGIN, 0, 0,
- FONT_NEXT, 1, 1,
- FONT_NEXT, 1, 5,
- FONT_NEXT, 2, 6,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 5, 5,
- FONT_NEXT, 4, 4,
- FONT_END, 1, 4,
- FONT_BEGIN, 4, 4,
- FONT_NEXT, 5, 3,
- FONT_NEXT, 4, 2,
- FONT_END, 1, 2,
- FONT_ADVANCE, 7, 0
- },
- {
- 4,
- FONT_BEGIN, 0, 4,
- FONT_NEXT, 2, 6,
- FONT_END, 4, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 5,
- FONT_BEGIN, 0, 5,
- FONT_NEXT, 4, 5,
- FONT_END, 4, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 6,
- FONT_BEGIN, 1, 4,
- FONT_END, 3, 4,
- FONT_BEGIN, 3, 6,
- FONT_NEXT, 2, 6,
- FONT_NEXT, 1, 5,
- FONT_NEXT, 1, 3,
- FONT_NEXT, 2, 2,
- FONT_END, 3, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 7,
- FONT_BEGIN, 1, 2,
- FONT_END, 1, 6,
- FONT_BEGIN, 0, 6,
- FONT_END, 4, 6,
- FONT_BEGIN, 3, 6,
- FONT_END, 3, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 8,
- FONT_BEGIN, 0, 2,
- FONT_END, 2, 4,
- FONT_BEGIN, 0, 7,
- FONT_NEXT, 0, 6,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 10,
- FONT_ADVANCE, 0, -9
- },
- {
- 11,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 1, 1,
- FONT_NEXT, 2, 2,
- FONT_NEXT, 2, 7,
- FONT_NEXT, 3, 8,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 12,
- FONT_BEGIN, 0, 3,
- FONT_END, 4, 3,
- FONT_BEGIN, 4, 6,
- FONT_END, 0, 6,
- FONT_BEGIN, 2, 8,
- FONT_END, 2, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 14,
- FONT_BEGIN, 1, 3,
- FONT_NEXT, 2, 4,
- FONT_NEXT, 2, 5,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 3, 3,
- FONT_END, 2, 4,
- FONT_BEGIN, 2, 5,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 0, 4,
- FONT_END, 1, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 15,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 0, 4,
- FONT_NEXT, 1, 5,
- FONT_NEXT, 3, 5,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 2, 8,
- FONT_END, 1, 8,
- FONT_BEGIN, 4, 4,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 16,
- FONT_BEGIN, 4, 7,
- FONT_NEXT, 1, 7,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 0, 4,
- FONT_NEXT, 1, 3,
- FONT_END, 4, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 17,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 3, 3,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 3, 7,
- FONT_END, 0, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 18,
- FONT_BEGIN, 0, 4,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 1, 7,
- FONT_NEXT, 3, 7,
- FONT_NEXT, 4, 6,
- FONT_END, 4, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 19,
- FONT_BEGIN, 0, 7,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 1, 4,
- FONT_NEXT, 3, 4,
- FONT_NEXT, 4, 5,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 20,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 2, 2,
- FONT_END, 4, 8,
- FONT_BEGIN, 3, 6,
- FONT_END, 1, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 21,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 4, 2,
- FONT_NEXT, 4, 5,
- FONT_END, 1, 5,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 4, 8,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 22,
- FONT_BEGIN, 0, 4,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 1, 7,
- FONT_NEXT, 3, 7,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 3, 3,
- FONT_NEXT, 1, 3,
- FONT_END, 0, 4,
- FONT_BEGIN, 1, 4,
- FONT_END, 3, 6,
- FONT_BEGIN, 1, 6,
- FONT_END, 3, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 23,
- FONT_BEGIN, 2, 0,
- FONT_NEXT, 0, 2,
- FONT_NEXT, 4, 6,
- FONT_END, 2, 8,
- FONT_BEGIN, 0, 6,
- FONT_END, 4, 6,
- FONT_BEGIN, 0, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 24,
- FONT_BEGIN, 0, 0,
- FONT_END, 4, 0,
- FONT_ADVANCE, 6, 0
- },
- {
- 25,
- FONT_BEGIN, 2, 3,
- FONT_NEXT, 4, 5,
- FONT_END, 2, 7,
- FONT_BEGIN, 0, 5,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 26,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 1, 9,
- FONT_NEXT, 2, 9,
- FONT_NEXT, 2, 8,
- FONT_NEXT, 3, 8,
- FONT_END, 4, 9,
- FONT_ADVANCE, 6, 0
- },
- {
- 27,
- FONT_BEGIN, 0, 1,
- FONT_END, 4, 7,
- FONT_BEGIN, 4, 5,
- FONT_END, 0, 5,
- FONT_BEGIN, 0, 3,
- FONT_END, 4, 3,
- FONT_ADVANCE, 6, 1
- },
- {
- 28,
- FONT_BEGIN, 1, 2,
- FONT_END, 3, 2,
- FONT_BEGIN, 3, 4,
- FONT_NEXT, 1, 6,
- FONT_END, 3, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 29,
- FONT_BEGIN, 1, 2,
- FONT_END, 3, 2,
- FONT_BEGIN, 1, 4,
- FONT_NEXT, 3, 6,
- FONT_END, 1, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 30,
- FONT_BEGIN, 0, 3,
- FONT_END, 4, 3,
- FONT_BEGIN, 4, 5,
- FONT_END, 0, 5,
- FONT_BEGIN, 0, 7,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 31,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 2, 4,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 32,
- FONT_ADVANCE, 6, 0
- },
- {
- 33,
- FONT_BEGIN, 2, 1,
- FONT_END, 2, 2,
- FONT_BEGIN, 2, 4,
- FONT_END, 2, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 34,
- FONT_BEGIN, 1, 7,
- FONT_END, 1, 9,
- FONT_BEGIN, 3, 9,
- FONT_END, 3, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 35,
- FONT_BEGIN, 1, 2,
- FONT_END, 1, 7,
- FONT_BEGIN, 3, 7,
- FONT_END, 3, 2,
- FONT_BEGIN, 4, 3,
- FONT_END, 0, 3,
- FONT_BEGIN, 0, 6,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 36,
- FONT_BEGIN, 2, 1,
- FONT_END, 2, 9,
- FONT_BEGIN, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 1, 5,
- FONT_NEXT, 3, 5,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 4, 2,
- FONT_NEXT, 3, 1,
- FONT_NEXT, 1, 1,
- FONT_END, 0, 2,
- FONT_ADVANCE, 6, -1
- },
- {
- 37,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 4, 7,
- FONT_END, 4, 8,
- FONT_BEGIN, 1, 8,
- FONT_NEXT, 0, 8,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 1, 7,
- FONT_END, 1, 8,
- FONT_BEGIN, 4, 3,
- FONT_NEXT, 5, 3,
- FONT_NEXT, 5, 2,
- FONT_NEXT, 4, 2,
- FONT_END, 5, 2,
- FONT_ADVANCE, 8, 1
- },
- {
- 38,
- FONT_BEGIN, 4, 4,
- FONT_NEXT, 2, 2,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 0, 4,
- FONT_NEXT, 2, 6,
- FONT_NEXT, 2, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 0, 6,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 39,
- FONT_BEGIN, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 1, 9,
- FONT_NEXT, 2, 9,
- FONT_NEXT, 2, 8,
- FONT_END, 1, 8,
- FONT_ADVANCE, 6, 1
- },
- {
- 40,
- FONT_BEGIN, 4, 2,
- FONT_NEXT, 2, 4,
- FONT_NEXT, 2, 6,
- FONT_END, 4, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 41,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 2, 4,
- FONT_NEXT, 2, 6,
- FONT_END, 0, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 42,
- FONT_BEGIN, 2, 2,
- FONT_END, 2, 8,
- FONT_BEGIN, 0, 7,
- FONT_END, 4, 3,
- FONT_BEGIN, 4, 5,
- FONT_END, 0, 5,
- FONT_BEGIN, 0, 3,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 43,
- FONT_BEGIN, 2, 3,
- FONT_END, 2, 7,
- FONT_BEGIN, 0, 5,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 44,
- FONT_BEGIN, 0, 1,
- FONT_NEXT, 1, 2,
- FONT_END, 1, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 45,
- FONT_BEGIN, 0, 5,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 46,
- FONT_BEGIN, 1, 2,
- FONT_END, 2, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 47,
- FONT_BEGIN, 0, 3,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 48,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 49,
- FONT_BEGIN, 1, 2,
- FONT_END, 3, 2,
- FONT_BEGIN, 2, 2,
- FONT_NEXT, 2, 8,
- FONT_END, 1, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 50,
- FONT_BEGIN, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 0, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 51,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 3, 5,
- FONT_END, 2, 5,
- FONT_BEGIN, 3, 5,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 1, 8,
- FONT_END, 0, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 52,
- FONT_BEGIN, 3, 2,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 0, 4,
- FONT_END, 4, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 53,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 0, 8,
- FONT_END, 4, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 54,
- FONT_BEGIN, 0, 5,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 3, 5,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 2, 8,
- FONT_END, 3, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 55,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 4, 8,
- FONT_NEXT, 2, 4,
- FONT_END, 2, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 56,
- FONT_BEGIN, 1, 5,
- FONT_NEXT, 0, 4,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 3, 5,
- FONT_NEXT, 1, 5,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 4, 6,
- FONT_END, 3, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 57,
- FONT_BEGIN, 1, 2,
- FONT_NEXT, 2, 2,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 1, 5,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 58,
- FONT_BEGIN, 0, 3,
- FONT_END, 1, 3,
- FONT_BEGIN, 1, 6,
- FONT_END, 0, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 59,
- FONT_BEGIN, 0, 1,
- FONT_NEXT, 1, 2,
- FONT_END, 1, 3,
- FONT_BEGIN, 1, 6,
- FONT_END, 0, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 60,
- FONT_BEGIN, 3, 3,
- FONT_NEXT, 1, 5,
- FONT_END, 3, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 61,
- FONT_BEGIN, 0, 4,
- FONT_END, 4, 4,
- FONT_BEGIN, 4, 6,
- FONT_END, 0, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 62,
- FONT_BEGIN, 1, 7,
- FONT_NEXT, 3, 5,
- FONT_END, 1, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 63,
- FONT_BEGIN, 1, 2,
- FONT_END, 2, 2,
- FONT_BEGIN, 2, 4,
- FONT_NEXT, 2, 5,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 1, 8,
- FONT_END, 0, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 64,
- FONT_BEGIN, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 2, 4,
- FONT_NEXT, 2, 6,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 65,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_END, 4, 2,
- FONT_BEGIN, 0, 5,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 66,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 3, 5,
- FONT_END, 0, 5,
- FONT_BEGIN, 3, 5,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 0, 8,
- FONT_END, 0, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 67,
- FONT_BEGIN, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_END, 4, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 68,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_END, 0, 8,
- FONT_BEGIN, 1, 8,
- FONT_END, 1, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 69,
- FONT_BEGIN, 4, 2,
- FONT_NEXT, 0, 2,
- FONT_NEXT, 0, 8,
- FONT_END, 4, 8,
- FONT_BEGIN, 3, 5,
- FONT_END, 0, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 70,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 8,
- FONT_END, 4, 8,
- FONT_BEGIN, 3, 5,
- FONT_END, 0, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 71,
- FONT_BEGIN, 3, 4,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 3, 8,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 72,
- FONT_BEGIN, 0, 2,
- FONT_END, 0, 8,
- FONT_BEGIN, 0, 5,
- FONT_END, 4, 5,
- FONT_BEGIN, 4, 8,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 73,
- FONT_BEGIN, 1, 2,
- FONT_END, 3, 2,
- FONT_BEGIN, 2, 2,
- FONT_END, 2, 8,
- FONT_BEGIN, 1, 8,
- FONT_END, 3, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 74,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_END, 4, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 75,
- FONT_BEGIN, 0, 2,
- FONT_END, 0, 8,
- FONT_BEGIN, 4, 8,
- FONT_NEXT, 1, 5,
- FONT_END, 4, 2,
- FONT_ADVANCE, 8, 0
- },
- {
- 76,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 0, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 77,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 8,
- FONT_NEXT, 2, 6,
- FONT_NEXT, 4, 8,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 78,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 8,
- FONT_NEXT, 4, 2,
- FONT_END, 4, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 79,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 80,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 3, 5,
- FONT_END, 0, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 81,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 2, 2,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 3,
- FONT_BEGIN, 2, 5,
- FONT_END, 4, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 82,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 8,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 4, 7,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 3, 5,
- FONT_END, 0, 5,
- FONT_BEGIN, 1, 5,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 83,
- FONT_BEGIN, 4, 7,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 0, 7,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 1, 5,
- FONT_NEXT, 3, 5,
- FONT_NEXT, 4, 4,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 84,
- FONT_BEGIN, 0, 8,
- FONT_END, 4, 8,
- FONT_BEGIN, 2, 8,
- FONT_END, 2, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 85,
- FONT_BEGIN, 0, 3,
- FONT_END, 0, 8,
- FONT_BEGIN, 4, 8,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 86,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 2, 2,
- FONT_NEXT, 4, 5,
- FONT_END, 4, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 87,
- FONT_BEGIN, 0, 2,
- FONT_END, 0, 8,
- FONT_BEGIN, 4, 8,
- FONT_NEXT, 4, 2,
- FONT_NEXT, 2, 4,
- FONT_END, 0, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 88,
- FONT_BEGIN, 0, 2,
- FONT_END, 4, 8,
- FONT_BEGIN, 0, 8,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 89,
- FONT_BEGIN, 2, 2,
- FONT_NEXT, 2, 5,
- FONT_END, 0, 8,
- FONT_BEGIN, 4, 8,
- FONT_END, 2, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 90,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 4, 8,
- FONT_NEXT, 0, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 91,
- FONT_BEGIN, 3, 1,
- FONT_NEXT, 1, 1,
- FONT_NEXT, 1, 9,
- FONT_END, 3, 9,
- FONT_ADVANCE, 6, 0
- },
- {
- 92,
- FONT_BEGIN, 0, 7,
- FONT_END, 4, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 93,
- FONT_BEGIN, 1, 9,
- FONT_NEXT, 3, 9,
- FONT_NEXT, 3, 1,
- FONT_END, 1, 1,
- FONT_ADVANCE, 6, 0
- },
- {
- 94,
- FONT_BEGIN, 2, 2,
- FONT_END, 2, 8,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 2, 8,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 95,
- FONT_BEGIN, 2, 3,
- FONT_NEXT, 0, 5,
- FONT_END, 2, 7,
- FONT_BEGIN, 0, 5,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 96,
- FONT_BEGIN, 3, 8,
- FONT_NEXT, 2, 8,
- FONT_NEXT, 2, 9,
- FONT_NEXT, 3, 9,
- FONT_NEXT, 3, 8,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 97,
- FONT_BEGIN, 1, 6,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 4, 2,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 4,
- FONT_END, 4, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 98,
- FONT_BEGIN, 0, 8,
- FONT_NEXT, 0, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 3, 6,
- FONT_END, 0, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 99,
- FONT_BEGIN, 4, 5,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 100,
- FONT_BEGIN, 4, 8,
- FONT_NEXT, 4, 2,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 1, 6,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 101,
- FONT_BEGIN, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 3, 4,
- FONT_END, 0, 4,
- FONT_ADVANCE, 6, 0
- },
- {
- 102,
- FONT_BEGIN, 1, 2,
- FONT_NEXT, 1, 7,
- FONT_NEXT, 2, 8,
- FONT_NEXT, 3, 8,
- FONT_END, 4, 7,
- FONT_BEGIN, 2, 5,
- FONT_END, 0, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 103,
- FONT_BEGIN, 1, 0,
- FONT_NEXT, 3, 0,
- FONT_NEXT, 4, 1,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 104,
- FONT_BEGIN, 0, 2,
- FONT_END, 0, 8,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 105,
- FONT_BEGIN, 2, 2,
- FONT_END, 2, 5,
- FONT_BEGIN, 2, 6,
- FONT_END, 2, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 106,
- FONT_BEGIN, 0, 1,
- FONT_NEXT, 1, 0,
- FONT_NEXT, 3, 0,
- FONT_NEXT, 4, 1,
- FONT_END, 4, 5,
- FONT_BEGIN, 4, 6,
- FONT_END, 4, 7,
- FONT_ADVANCE, 6, 0
- },
- {
- 107,
- FONT_BEGIN, 0, 2,
- FONT_END, 0, 8,
- FONT_BEGIN, 4, 6,
- FONT_NEXT, 2, 4,
- FONT_END, 0, 4,
- FONT_BEGIN, 2, 4,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 108,
- FONT_BEGIN, 1, 2,
- FONT_END, 1, 8,
- FONT_ADVANCE, 6, 0
- },
- {
- 109,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 2, 5,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_END, 4, 2,
- FONT_BEGIN, 2, 2,
- FONT_END, 2, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 110,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 1, 5,
- FONT_NEXT, 2, 6,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 111,
- FONT_BEGIN, 0, 3,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 112,
- FONT_BEGIN, 0, 0,
- FONT_NEXT, 0, 6,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 2,
- FONT_END, 0, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 113,
- FONT_BEGIN, 4, 2,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 4, 5,
- FONT_END, 4, 0,
- FONT_ADVANCE, 6, 0
- },
- {
- 114,
- FONT_BEGIN, 0, 2,
- FONT_END, 0, 6,
- FONT_BEGIN, 0, 4,
- FONT_NEXT, 2, 6,
- FONT_NEXT, 3, 6,
- FONT_END, 4, 5,
- FONT_ADVANCE, 6, 0
- },
- {
- 115,
- FONT_BEGIN, 0, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_NEXT, 3, 4,
- FONT_NEXT, 1, 4,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 1, 6,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 116,
- FONT_BEGIN, 0, 6,
- FONT_END, 4, 6,
- FONT_BEGIN, 2, 8,
- FONT_NEXT, 2, 3,
- FONT_NEXT, 3, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 117,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 118,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 0, 4,
- FONT_NEXT, 2, 2,
- FONT_NEXT, 4, 4,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 119,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 0, 3,
- FONT_NEXT, 1, 2,
- FONT_NEXT, 2, 3,
- FONT_NEXT, 3, 2,
- FONT_NEXT, 4, 3,
- FONT_END, 4, 6,
- FONT_ADVANCE, 6, 0
- },
- {
- 120,
- FONT_BEGIN, 0, 2,
- FONT_END, 4, 6,
- FONT_BEGIN, 0, 6,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 121,
- FONT_BEGIN, 0, 0,
- FONT_NEXT, 4, 4,
- FONT_END, 4, 6,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 0, 4,
- FONT_END, 2, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 122,
- FONT_BEGIN, 0, 6,
- FONT_NEXT, 4, 6,
- FONT_NEXT, 0, 2,
- FONT_END, 4, 2,
- FONT_ADVANCE, 6, 0
- },
- {
- 123,
- FONT_BEGIN, 4, 9,
- FONT_NEXT, 3, 8,
- FONT_NEXT, 3, 6,
- FONT_NEXT, 2, 5,
- FONT_NEXT, 3, 4,
- FONT_NEXT, 3, 2,
- FONT_END, 4, 1,
- FONT_ADVANCE, 6, 0
- },
- {
- 124,
- FONT_BEGIN, 2, 9,
- FONT_END, 2, 0,
- FONT_ADVANCE, 6, 0
- },
- {
- 125,
- FONT_BEGIN, 2, 2,
- FONT_NEXT, 2, 3,
- FONT_NEXT, 0, 5,
- FONT_NEXT, 2, 7,
- FONT_END, 2, 8,
- FONT_BEGIN, 2, 7,
- FONT_NEXT, 4, 5,
- FONT_END, 2, 3,
- FONT_ADVANCE, 6, 0
- },
- {
- 126,
- FONT_BEGIN, 0, 9,
- FONT_NEXT, 1, 8,
- FONT_NEXT, 1, 6,
- FONT_NEXT, 2, 5,
- FONT_NEXT, 1, 4,
- FONT_NEXT, 1, 2,
- FONT_END, 0, 1,
- FONT_ADVANCE, 6, 0
- },
- {
- END_OF_LIST
- }
- };
-
- GLenum tkCreateStrokeFont(GLuint fontBase)
- {
- GLint mode, i, j;
-
- for (i = 0; strokeFont[i][0] != END_OF_LIST; i++)
- {
- glNewList(fontBase+(unsigned int)strokeFont[i][0], GL_COMPILE);
-
- for (j = 1; mode = strokeFont[i][j]; j += 3)
- {
- if (mode == FONT_BEGIN)
- {
- glBegin(GL_LINE_STRIP);
- glVertex2f((float)strokeFont[i][j+1]*STROKE_SCALE,
- (float)strokeFont[i][j+2]*STROKE_SCALE);
- }
- else if (mode == FONT_NEXT)
- {
- glVertex2f((float)strokeFont[i][j+1]*STROKE_SCALE,
- (float)strokeFont[i][j+2]*STROKE_SCALE);
- }
- else if (mode == FONT_END)
- {
- glVertex2f((float)strokeFont[i][j+1]*STROKE_SCALE,
- (float)strokeFont[i][j+2]*STROKE_SCALE);
- glEnd();
- }
- else if (mode == FONT_ADVANCE)
- {
- glTranslatef((float)strokeFont[i][j+1]*STROKE_SCALE,
- (float)strokeFont[i][j+2]*STROKE_SCALE, 0.0);
- break;
- }
- }
- glEndList();
- }
- return GL_TRUE;
- }
-
-
- void tkDrawStr(GLuint base, char *str)
- {
-
- glPushAttrib(GL_LIST_BIT);
- glListBase(base);
- glCallLists(strlen(str), GL_UNSIGNED_BYTE, (unsigned char *)str);
- glPopAttrib();
- }
-